类 功能布局:组件容器

	@布局配置([[根布局=真,宽度=-1,高度=-1,纵向布局=真]])
	变量 线性布局1 : 线性布局
	@布局配置([[父布局=线性布局1,宽度=-1,高度DP=45]])
	变量 相对布局1 : 相对布局
	@布局配置([[父布局=相对布局1,粗体=真,字体大小=18,内容="全部功能",字体颜色=-16777216,@位于布局中间=真]])
	变量 文本框2 : 文本框
	@布局配置([[父布局=线性布局1,宽度=-1,高度=-1,显示滚动条=假,完全显示=假]])
	变量 滚动布局1 : 滚动布局
	@布局配置([[父布局=滚动布局1,宽度=-1,高度=-1,纵向布局=真]])
	变量 线性布局2 : 线性布局
	@布局配置([[父布局=线性布局2,宽度=-1,高度DP=170,对齐方式=17,上内边距DP=2,右内边距DP=15,下内边距DP=15,左内边距DP=15]])
	变量 线性布局3 : 线性布局
	@布局配置([[父布局=线性布局3,宽度=-1,高度=-1,圆角=45,卡片阴影=0]])
	变量 卡片布局1 : 卡片布局
	@布局配置([[父布局=卡片布局1,宽度=-1,高度=-1,背景颜色=-15088963]])
	变量 相对布局2 : 相对布局
	@布局配置([[父布局=相对布局2,图片资源="../../素材/Png/ic_login_top_bg_new.png",拉伸方式=6,宽度=-1,高度=-1,透明度=1.0]])
	变量 图片框2 : 图片框
	@布局配置([[父布局=相对布局2,图片资源="../../素材/Png/Image_1702450402055.png",@位于布局底部=真,@位于布局右边=假,@位于布局中间=真,可视=真,宽度DP=150,高度DP=90,纵向偏移DP=5]])
	变量 图片框1 : 图片框
	@布局配置([[父布局=线性布局2,宽度=-1,左内边距DP=15,右内边距DP=15,@下外边距DP=10]])
	变量 线性布局5 : 线性布局
	@布局配置([[父布局=线性布局5,内容="全部功能",粗体=真,字体大小=17,字体颜色=-16777216]])
	变量 文本框1 : 文本框
	@布局配置([[父布局=线性布局2,宽度=-1,左内边距DP=15,右内边距DP=15,高度=-2,纵向布局=真]])
	变量 线性布局6 : 线性布局
	@布局配置([[父布局=线性布局6,宽度=-1,高度DP=34]])
	变量 导航栏1 : 导航栏
	@布局配置([[父布局=线性布局6,宽度=-1,高度DP=2,纵向偏移DP=-1,背景颜色=-3223858,圆角=24,卡片阴影=0,@左外边距DP=10,@右外边距DP=10]])
	变量 卡片布局2 : 卡片布局
	@布局配置([[父布局=线性布局2,宽度=-1,高度=-1,@上外边距DP=10,@下外边距DP=20]])
	变量 线性布局7 : 线性布局
	@布局配置([[父布局=线性布局7,宽度=-1,高度=-1,可否滑动=假]])
	变量 分页布局1 : 分页布局

	变量 功能导航集合 : 文本集合={"热门功能","接口功能","娱乐功能"}
	变量 功能分页1:功能分页布局1
	变量 功能分页2:功能分页布局2
	变量 功能分页3:功能分页布局3

	@静态
	变量 列表高度1:整数
	@静态
	变量 列表高度2:整数
	@静态
	变量 列表高度3:整数


	变量 主窗口:窗口?=取安卓窗口()
	事件 功能布局:创建完毕()
		订阅事件()
		图片框2.取图片().色调(-1576716)
		分页布局1.添加页面(功能分页1)
		分页布局1.添加页面(功能分页2)
		分页布局1.添加页面(功能分页3)
		事件 导航栏1:导航文本样式(索引 : 整数,导航文本 : 文本) : 导航文本样式
			变量 文本样式 : 导航文本样式_渐变缩放
			文本样式.字体大小 = 17
			文本样式.粗体 = 真
			文本样式.缩小度 = 0.9
			文本样式.颜色_选中 = -12687655
			文本样式.颜色_未选中 = 深灰色
			返回 文本样式
		结束 事件
		事件 导航栏1:导航条样式() : 导航条样式
			变量 条样式 : 导航条样式_直线渐变
			条样式.模式 = 导航条宽模式.导航文本宽度
			条样式.圆角 = 6
			条样式.滚动长度 = 2.0
			条样式.渐变颜色组 = {-12687655}
			返回 条样式
		结束 事件
		导航栏1.绑定分页布局(分页布局1)
		导航栏1.置文本集(功能导航集合)
	结束 事件	

	事件 分页布局1:页面被改变(索引 : 整数)
		假如 索引
			是 0
				分页布局1.高度DP=列表高度1
			是 1
				分页布局1.高度DP=列表高度2
			是 2
				分页布局1.高度DP=列表高度3
		结束 假如
	结束 事件

结束 类

类 功能分页布局1:组件容器

	@布局配置([[根布局=真,宽度=-1,高度=-2]])
	变量 线性布局1 : 线性布局
	@布局配置([[父布局=线性布局1,宽度=-1,高度=-2,左内边距DP=15,右内边距DP=15]])
	变量 线性布局2 : 线性布局
	@布局配置([[父布局=线性布局2,显示滑块条=假,始终显示快速滚动条=假,列数=2,宽度=-1,高度=-1]])
	变量 自定义宫格列表框1 : 自定义宫格列表框

	变量 主窗口:窗口?=取安卓窗口()
	变量 数组来源:JSON数组
	事件 功能分页布局1:创建完毕()
		订阅事件()
		数组来源=全局配置.配置文件内容.取JSON对象("功能配置").取JSON对象("功能").取JSON数组("热门功能")
		变量 计算行数:整数=(数组来源.长度 % 2)
		变量 最终行数:整数
		如果 计算行数==0则
			最终行数=数组来源.长度 / 2
		否则
			变量 计算结果:小数=数组来源.长度 / 2
			最终行数=计算结果.到整数()+1
		结束 如果
		自定义宫格列表框1.高度DP=80*最终行数
		功能布局.列表高度1=80*最终行数
		自定义宫格列表框1.更新项目(数组来源.长度)
	结束 事件
	事件 自定义宫格列表框1:加载布局(索引 : 整数,项目布局 : 组件容器) : 组件容器
		变量 功能页项目:功能项目布局
		功能页项目.圆形图片框1.位图对象 = 附加资源.取位图对象(主窗口,数组来源.取JSON对象(索引).取文本("功能图标"))
		功能页项目.文本框1.内容 = 数组来源.取JSON对象(索引).取文本("功能名称")
		返回 功能页项目
	结束 事件
	事件 自定义宫格列表框1:项目被单击(被单击组件 : 可视化组件,索引 : 整数)
		变量 窗口类 : Java类 = (主窗口.取自身包名()+"." +数组来源.取JSON对象(索引).取文本("切换窗口") ) 
		code #<安卓窗口>.newActivity(#主窗口,#窗口类);
	结束 事件

结束 类

类 功能分页布局2:组件容器

	@布局配置([[根布局=真,宽度=-1,高度=-2]])
	变量 线性布局1 : 线性布局
	@布局配置([[父布局=线性布局1,宽度=-1,高度=-2,左内边距DP=15,右内边距DP=15]])
	变量 线性布局2 : 线性布局
	@布局配置([[父布局=线性布局2,显示滑块条=假,始终显示快速滚动条=假,列数=2,宽度=-1,高度=-1]])
	变量 自定义宫格列表框1 : 自定义宫格列表框

	变量 主窗口:窗口?=取安卓窗口()
	变量 数组来源:JSON数组
	事件 功能分页布局2:创建完毕()
		订阅事件()
		数组来源=全局配置.配置文件内容.取JSON对象("功能配置").取JSON对象("功能").取JSON数组("接口功能")
		变量 计算行数:整数=(数组来源.长度 % 2)
		变量 最终行数:整数
		如果 计算行数==0则
			最终行数=数组来源.长度 / 2
		否则
			变量 计算结果:小数=数组来源.长度 / 2
			最终行数=计算结果.到整数()+1
		结束 如果
		自定义宫格列表框1.高度DP=80*最终行数
		功能布局.列表高度2=80*最终行数
		自定义宫格列表框1.更新项目(数组来源.长度)
	结束 事件
	事件 自定义宫格列表框1:加载布局(索引 : 整数,项目布局 : 组件容器) : 组件容器
		变量 功能页项目:功能项目布局
		功能页项目.圆形图片框1.位图对象 = 附加资源.取位图对象(主窗口,数组来源.取JSON对象(索引).取文本("功能图标"))
		功能页项目.文本框1.内容 = 数组来源.取JSON对象(索引).取文本("功能名称")
		返回 功能页项目
	结束 事件
	事件 自定义宫格列表框1:项目被单击(被单击组件 : 可视化组件,索引 : 整数)
		变量 窗口类 : Java类 = (主窗口.取自身包名()+"." +数组来源.取JSON对象(索引).取文本("切换窗口") ) 
		code #<安卓窗口>.newActivity(#主窗口,#窗口类);
	结束 事件

结束 类

类 功能分页布局3:组件容器
	@布局配置([[根布局=真,宽度=-1,高度=-2]])
	变量 线性布局1 : 线性布局
	@布局配置([[父布局=线性布局1,宽度=-1,高度=-2,左内边距DP=15,右内边距DP=15]])
	变量 线性布局2 : 线性布局
	@布局配置([[父布局=线性布局2,显示滑块条=假,始终显示快速滚动条=假,列数=2,宽度=-1,高度=-1]])
	变量 自定义宫格列表框1 : 自定义宫格列表框

	变量 主窗口:窗口?=取安卓窗口()
	变量 数组来源:JSON数组
	事件 功能分页布局3:创建完毕()
		订阅事件()
		数组来源=全局配置.配置文件内容.取JSON对象("功能配置").取JSON对象("功能").取JSON数组("娱乐功能")
		变量 计算行数:整数=(数组来源.长度 % 2)
		变量 最终行数:整数
		如果 计算行数==0则
			最终行数=数组来源.长度 / 2
		否则
			变量 计算结果:小数=数组来源.长度 / 2
			最终行数=计算结果.到整数()+1
		结束 如果
		自定义宫格列表框1.高度DP=80*最终行数
		功能布局.列表高度3=80*最终行数
		自定义宫格列表框1.更新项目(数组来源.长度)
	结束 事件
	事件 自定义宫格列表框1:加载布局(索引 : 整数,项目布局 : 组件容器) : 组件容器
		变量 功能页项目:功能项目布局
		功能页项目.圆形图片框1.位图对象 = 附加资源.取位图对象(主窗口,数组来源.取JSON对象(索引).取文本("功能图标"))
		功能页项目.文本框1.内容 = 数组来源.取JSON对象(索引).取文本("功能名称")
		返回 功能页项目
	结束 事件
	事件 自定义宫格列表框1:项目被单击(被单击组件 : 可视化组件,索引 : 整数)
		变量 窗口类 : Java类 = (主窗口.取自身包名()+"." +数组来源.取JSON对象(索引).取文本("切换窗口") ) 
		code #<安卓窗口>.newActivity(#主窗口,#窗口类);
	结束 事件
结束 类

类 功能项目布局:组件容器

	@布局配置([[根布局=真,宽度=-1,高度DP=80,对齐方式=17,内边距DP=8,背景颜色=-1576716]])
	变量 线性布局1 : 线性布局
	@布局配置([[父布局=线性布局1,宽度=-1,高度=-1,圆角=24,卡片阴影=0,水波纹效果=真]])
	变量 卡片布局1 : 卡片布局
	@布局配置([[父布局=卡片布局1,宽度=-1,高度=-1]])
	变量 相对布局1 : 相对布局
	@布局配置([[父布局=相对布局1,宽度=-1,高度=-1,对齐方式=16]])
	变量 线性布局2 : 线性布局
	@布局配置([[父布局=线性布局2,宽度DP=35,高度DP=35,@左外边距DP=10,图片资源="../../素材/Png/图标.png",@右外边距DP=10]])
	变量 圆形图片框1 : 圆形图片框
	@布局配置([[父布局=线性布局2,粗体=真,字体大小=15,单行显示=真,内容="项目名称"]])
	变量 文本框1 : 文本框
	@布局配置([[父布局=相对布局1,宽度DP=32,高度DP=32,@位于布局顶部=真,@位于布局右边=真]])
	变量 图片框1 : 图片框

结束 类